package pe.com.hermes.hermetic.negocio.service;

import pe.com.hermes.hermetic.beans.AbonoCSBean;
import pe.com.hermes.hermetic.beans.AbonoManualBean;
import pe.com.hermes.hermetic.beans.ActaBean;
import pe.com.hermes.hermetic.beans.AnomaliaBean;
import pe.com.hermes.hermetic.beans.BovedaBean;
import pe.com.hermes.hermetic.beans.CambioSucursalBean;
import pe.com.hermes.hermetic.beans.ClaveBean;
import pe.com.hermes.hermetic.beans.ClienteBean;
import pe.com.hermes.hermetic.beans.ComprobanteServicioBean;
import pe.com.hermes.hermetic.beans.ConsolidadoBean;
import pe.com.hermes.hermetic.beans.ControlNumeroBean;
import pe.com.hermes.hermetic.beans.CuentaBean;
import pe.com.hermes.hermetic.beans.CuentaClienteBean;
import pe.com.hermes.hermetic.beans.CuentaDetalleBean;
import pe.com.hermes.hermetic.beans.DenomBoveBean;
import pe.com.hermes.hermetic.beans.DetalleDenominacionPedidoBean;
import pe.com.hermes.hermetic.beans.DetallePedidoBean;
import pe.com.hermes.hermetic.beans.EmpleadoBean;
import pe.com.hermes.hermetic.beans.FaltSobrTCCBean;
import pe.com.hermes.hermetic.beans.FechaCuentaBean;
import pe.com.hermes.hermetic.beans.FechaServidorBean;
import pe.com.hermes.hermetic.beans.LogBtmsBean;
import pe.com.hermes.hermetic.beans.LogTrasaccionesBean;
import pe.com.hermes.hermetic.beans.PedidoTemporalBean;
import pe.com.hermes.hermetic.beans.PedidosBean;
import pe.com.hermes.hermetic.beans.PuntoBean;
import pe.com.hermes.hermetic.beans.RemitenteBean;
import pe.com.hermes.hermetic.beans.TransaccionPedidoBean;

import pe.com.hermes.hermetic.negocio.ultil.ConstantesHermetic;



import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.ArrayList;
import java.util.List;

import java.util.Set;

import javax.servlet.http.HttpServletRequest;

import pe.com.hermes.auditoriaclient.modelo.bean.AuditBean;
import pe.com.hermes.hermetic.beans.FaltSobrFechaBean;
import pe.com.hermes.hermetic.beans.OperRealBean;
import pe.com.hermes.hermetic.beans.OperRealResuBean;
import pe.com.hermes.hermetic.beans.OperacionesAtmBean;
import pe.com.hermes.hermetic.beans.RepoMontosCustodiaBean;
import pe.com.hermes.unidadesnegocio.procesamiento.managerimpl.PedidoAbstract;
import pe.com.hermes.hermetic.beans.ReporteMovDiarioBean;
import pe.com.hermes.hermetic.beans.ResponsableBean;
import pe.com.hermes.hermetic.beans.TiposBean;
import pe.com.hermes.unidadesnegocio.comercial.entities.ClienteEntity;
import pe.com.hermes.unidadesnegocio.operaciones.entities.CompServAtmEntity;
import pe.com.hermes.unidadesnegocio.procesamiento.entities.CompServOperEntity;
import pe.com.hermes.unidadesnegocio.procesamiento.entities.PedidoDetaEntity;


public interface HermeticFacade {
    public List getEmpresasGrupo(String codCliente);

    public int getCantidadClientes(String codCliente);

    public ClienteBean getCliente(String codCliente);

    public List getCuentas(String codSucursal, String codCliente);
    
    public List getDesCuentas(String codSucursal, String codCliente, String desCuenta);
    
    public List getDescCuentaMulti(String codSucursal, String codCliente, String listCuenta);
    
    public List getDescModuloMulti(String codSucursal, String codCliente, String listModulos);
    
    public List getCuentasVisible(String codSucursal, String codCliente);

    public List getBovedaCuenta(String codSucursal, String codCliente, 
                                String cuenta);
    
    public List getBovedaByCuentaMoneMulti(String codSucursal, String codCliente, String listCuentas, String tipoUnidMone);
    
    public List getDescBovedaByCuentaMoneMulti(String codSucursal, String codCliente, String listCuentas, String tipoUnidMone, String desModulo);
    
                                
    public List getBovedaListaCuenta(String codSucursal, String codCliente, 
                                                         String listaCuentas);                                

    public int getTipoUnidadMonetaria(String codSucursal, String codCliente, 
                                      String cuenta, String boveda);

    public int getTipoUnidadMonetariaListaCuenta(String codSucursal, String codCliente, 
                                      String listaCuenta, String boveda);

    public List getTipoUnidadMonetariaCuentaMulti(String codSucursal, String codCliente, String listaCuenta);
                                                                        
    public List getTipoPedido();

    public FechaCuentaBean getFechaCuenta(String codSucursal, 
                                          String codCliente, String cuenta, 
                                          String boveda);

    public List getDenominacionMoneda(String tipoUnidad, String codCliente, 
                                      String codSucursal, String cuenta, 
                                      String boveda, String fechaDesde);

    public List getDenominacionMonedaListaCuenta(String tipoUnidad, String codCliente, 
                                        String codSucursal, String listaCuenta, 
                                        String boveda, String fechaDesde);

    public List getDenominacionMonedaSaldoReal(String tipoUnidad, String codCliente, 
                                      String codSucursal, String cuenta, 
                                      String boveda, String fechaDesde);

    public List getDenominacionMonedaSaldoNoReal(String tipoUnidad, String codCliente, 
                                      String codSucursal, String cuenta, 
                                      String boveda, String fechaDesde);

    public String getSaldoTotalReal(String codSucursal, String codCliente, 
                                    String cuenta, String boveda, String fechaDesde, 
                                    String tipoMoneda, String codDenom);

    public String getSaldo(String codSucursal, String codCliente, 
                           String cuenta, String boveda, String fechaDesde, 
                           String tipBill, String tipoMoneda, String codDenom);

    public String getSaldo(String codSucursal, String codCliente, 
                           String cuenta, String boveda, String fechaDesde, 
                           String tipoMoneda, String codDenomin);

    public String getSaldoCuenta(String fechaProceso, String codigoCliente, 
                                 String codigoCuenta, String codigoSucursal, 
                                 String tipoBillete, String tipoMoneda, 
                                 String codigoDenominacion);

    public ComprobanteServicioBean getDetalleCS(String fechaDesde, 
                                                String codCliente, 
                                                String cuenta, String boveda, 
                                                String sucursal);
    public ComprobanteServicioBean getDetalleCSConsolidado(String fechaDesde, 
                                                String codCliente, 
                                                String cuenta, String boveda, 
                                                String sucursal);                                                

    public ComprobanteServicioBean getDetalleCSReal(String fechaDesde, 
                                                String codCliente, 
                                                String cuenta, String boveda, 
                                                String sucursal);

    public ComprobanteServicioBean getDetalleCSNoReal(String fechaDesde, 
                                                String codCliente, 
                                                String cuenta, String boveda, 
                                                String sucursal);

    public String getDesTipo(String codTipo);

    public List getTipoBilletaje();

    public String getDescripcion(String codGrupo, String codTipo);
    
    public String getDescripcionLarga(String codGrupo, String codTipo);
    
    public String  getDesOpci(String codOpci, HttpServletRequest request);

    public String getDescripcionBillete(String codTipo);

    public String getDescripcionGenerica(final String codGrupTipo,final String codTipo,final String tipoDesc);

    public List getSolicitudPedidos(String fechaDesde, String fechaHasta, 
                                    String codCliente, String tipoPedido, 
                                    String codigoSucursal, String tipoDestino,String listMatrices);

    public List getListadoEliminaPedidos(String fechaSolicitud, 
                                         String codigoSucursal, 
                                         String codigoBoveda, 
                                         String codigoCliente);

    // public List getListadoDenominacion(String unidadMonetaria);

    public List getListadoPedidoTemporal(String codigoCliente, 
                                         String codigoSucursal);

    public List getListadoPedidoTemporal(String codigoCliente, 
                                         String codigoSucursal, 
                                         String usuario);

    public List getListadoPedidoTemporal(String codigoCliente, 
                                         String codigoSucursal, String usuario, 
                                         String transaccion);


    public List getBusquedaPunto(String codigoCliente, String descripcionPunto, 
                                 String codigoEquivalente, 
                                 String codigoSucursal, String moneda, String tipoPunto);

    public String getDescripcionPunto(String codigoPunto);

    public String getDescripcionPuntoCarga(String codigoPunto, 
                                           String codigoCliente);


    public PedidosBean getPedido(String codSucursal, String codCliente, 
                                 String serie, String numero);

    public String getDescripcion(String cliente);

    public String getDescripcion(String sucursal, String cliente, 
                                 String cuenta);

    public BovedaBean getBoveda(String sucursal, String cliente, String cuenta, 
                                String boveda);

    public List getDetallePedido(String cliente, String sucursal, 
                                 String cuenta, String pedido, String serie);

    public List getBilletesMonedas(String pedido, String serie, String detalle, 
                                   String tipoMon, String tipoUnidad);

    public List getBilletesMonedas(String numero, String serie, 
                                   String tipoUnidad, String tipo);
   
   public List getBilletesMonedas(String numero, String serie, 
                                   String tipoUnidad, String tipo,String codBove, String cs);

    public String getTotalDenominacion(String pedido, String serie, 
                                       String detalle, String tipoMon);

    public void insertarPedido(PedidosBean pedido)  throws Exception ;

    public void insertarDetallePedido(DetallePedidoBean detalle) throws Exception ;

    public void insertarDenominacionPedido(DetalleDenominacionPedidoBean detalle) throws Exception ;

    public void insertarTransaccionPedido(TransaccionPedidoBean transaccion) throws Exception ;

    public void insertarPedidoTemporal(PedidoTemporalBean ptemporal);

    public void eliminaPedidoTemporal(PedidoTemporalBean ptemporal);

    /* americo 02/10/2007 */

    public String validacionAbono(String tipo, String tipoOper, String serie, 
                                  String numero, String tipoDocumento);

    public int getCantidadActasAnomalia(String tipo, String serie, 
                                        String numero, String codBove);

    public int getIndicadorDescuadreActas(String tipo, String serie, 
                                          String numero);

    public String getNumeroTransaccion () throws Exception;

    public void insertarLineaTexto(TransaccionPedidoBean ptemporal);

    public String getIdentificacion(String tipo, String serie, String numero);

    public String getNombre(String tipo, String serie, String numero);

    public PuntoBean getInformacionClientePunto(String codigoPunto) throws Exception;

    public CuentaBean getCuentaTipoCuenta(String codigoSucursal, 
                                          String codigoCliente, 
                                          String tipoUnidadMoneda);

    public String getDescripcionDepProDis(String codigoDepartamento, 
                                          String codigoProvincia, 
                                          String codigoDistrito);

    public String getSecuenciaArchivo(String codigoCliente, String nombreTipo);

    public String getTipoCuenta(String codigoCliente, String codigoPunto, 
                                String codigoCuenta, String indReplace);

    //public void actualizaCuentasCliente(CuentaClienteBean cuenta);

    public String getDescripcionLogTransacciones(String codigoLog) throws Exception;

    public void insertaLogBtms(LogTrasaccionesBean log);

    //public void actualizaActa(ActaBean acta);
    public String actualizaActa(ActaBean actaBean) throws Exception;

    public String getFechaHoy();

    public List getTiposAnomalias();

    public List getMantenimPuntos(final String sucursal, final String cliente, 
                                  final String lista, final String listaE, 
                                  final String tipo, final String desAgencia,
                                  final String codMat, final int sonPuntosSinAsignar);

    public List getMantenimClientes(String sucursal, String cliente, 
                                    String lista, String listaE, String tipo);

    public int getCantPuntos(String codEqui, String codPunto, String cliente);

    public void actualizarPunto(PuntoBean punto);

    public String getClientesPorBanco(String banco, String codCliente);

    public List getMantenCuentas(String general, String cli1, String cli2, 
                                 String cliente, String subgrupo, 
                                 String estado);

    public List getPuntosReferencia(String banco, String cliente, 
                                    String cuenta);

    public void actualizarCuenta(String up_del, CuentaBean cuenta);

    public List getListadoCambioClientes(String sucursal);

    public List getSucursales();

    public List getSucursalesNoTodos();

    public List getCS(String numero, String serie, 
                                         String codcliente, String sucursal);

    public String contiene(String numero, String serie, String unidad);
    
    public String contiene(String numero, String serie, String unidad, String codBove);

    public String anomalias(String numero, String serie);

    public List getDetalleAno(String numero, String serie);
    
    public List getDetalleAno(String numero, String serie, String codBove);

    public List getRemesasSinAbono(String sucursal, String cliente , String listaCodClientes,
                                   String fechaDesde, String fechaHasta);

    public List getAbonos(String cliente, String sucursal);

    public List getAbonosContinental(String cliente, String sucursal);
    public List getAbonosInterBank(String cliente, String sucursal);
    public List getAbonosBCP(String cliente, String sucursal);
    public List getAbonosScotiaBank(String cliente, String sucursal);
    public List getAbonosFinanciero(String cliente, String sucursal);
    public List<AbonoCSBean> getAbonosBanbif(String cliente, String sucursal); 
    
    public List abonosGenerados(String fecha, String hora, String cliente, String sucursal);    

    public String validacionMontosParciales(String tipo, String serie, 
                                            String numero, String tipoDocumento);
                                            
    public double getMontoComprobanteServ(String tipoDocuCmpb, String serie, 
                                          String numCS, String tipoCuenta, String codBoveda);

    public double getMontoCuentaNormal(String tipoDocuCmpb, String serie, 
                                          String numCS, String codBoveda);

    public double getMontoCuentaInterna(String tipoDocuCmpb, String serie, 
                                        String numCS, String codBoveda);                                                   

    public ComprobanteServicioBean getDatosCS(String tipoDocuCmpb, String serie, String numCS, String codBove) throws Exception;
    
    public String getCodigoCta(String sucursal, String clienteCta, String cliente, String boveda);

    public List getIngresosSalidasGral(String sucursales, String clientes, 
                                       String cuentas, String bovedas, 
                                       String tipoUnidMone, String tipoFormTras,
                                       String tipoClie,String clieBanc,
                                       String fechaDesde,String fechaHasta,
                                       String tipoOperacion) throws Exception;

    public ResultSet getDenominacionMoneda(String tip_unid_mone);

    public String getDatosPunto(String cliente, String punto, String valor);

    public String getFecha1();

    public String getFecha2();

    public String getDatoTipoBillete(String cod_tipo);

    public String getNumeroDocumentoUlti(String codSerie);

    public void actualizaControlNumero(ControlNumeroBean dnumero);

    public void ingresaControlNumero(ControlNumeroBean dnumero);

    public int verifica_clave_car_aut(String cliente, String clave);

    public int getTipoUnidadMonetaria(String codSucursal, String boveda);

    public String getCodPuntoOrigen(String sucursal, String cliente, 
                                    String cuenta);

    public String completa_espacios_blanco(String cadena, String caracter, 
                                           String posicion, int longitud);

    public int cant_digi_significativos(String monto) throws Exception;

    public String getFechaddmmyyyyhh24miss();

    public String getFechaManana();

    public String getFecha3();

    public String getFecha4();

    public PuntoBean getPunto(String codigoPunto);


    public List buscarDestino(String nombre);


    public List getListadoDenominacion(String unidadMonetaria, 
                                       String fechaDesde, String cliente, 
                                       String cuenta, String sucursal, 
                                       String tipoBillete);

    public List getResultadoApertuConso(String sucursal, String cliente,
                                        String cuenta, String boveda, 
                                        String codPunt, String tipOper,                                         
                                        String fechaDesde, String fechaHasta, String isAtmActive);

    public int getNumeroPedido();

    public int getNumeroPedido(String tipoDocumento, String codSerie);

    public int getIndProgPedido(String cliente, String fechaEntrega, 
                                String horaEntrega);

    public List getCustodiaSaldos(String sucursal, String fechaDesde, 
                                  String fechaHasta, String cliente);

    public List getEntradasSalidasAgencias(String cliente, String sucursal, 
                                           String fechaDesde, 
                                           String fechaHasta);

    public List getEntradasSalidasAgenciasReporteExcel(String cliente, String sucursal, 
                                            String fechaDesde, 
                                            String fechaHasta);

    public List getRemesasPorProcesar(String fechaDesde, String cliente, 
                                      String cuenta, String boveda, 
                                      String sucursal);


    public List getSucursalesSaldo();

    public ClienteBean getClientePorRazon(String razon);

    public String existePassword(String usuario, String cliente);

    public String validaPassword(String usuario, String password, 
                                 String cliente);

    public void actualizaPassword(String password, String usuario, 
                                  String cliente);

    public List getListadoClaves(String cliente);

    public int getCantidadClaves(String fecha, String cliente);

    public void insertarClave(ClaveBean clave);

    public void eliminaClave(ClaveBean clave);

    public ResultSet getFechaClave(String fec_ini, String fec_fin, 
                                   String sucursal);

    public int getExisteClave(String fechaCale, String cliente);

    public void actualizaClave(ClaveBean clave);

    public String getDescripcionSucursal(String codSucursal);

    public List getClientesDelBanco(String banco, String nomCliente);
    
    public List getClientes(final String nomCliente);

    public List getBovedas(String sucursal, String cliente);

    public String getFechaSolicitudPedido(String codSucursal, 
                                          String codCliente);

    public DetallePedidoBean getDetallePedidoSecuencia(String sucursal, 
                                                       String cliente, 
                                                       String cuenta, 
                                                       String tipo, 
                                                       String serie, 
                                                       String numero, 
                                                       String secuencia);

    public int getCantidadPedidos(String tipo, String serie, String numero);


    public void eliminarPedido(DetallePedidoBean dpedido);

    public List getActasAnomalia(String sucursal, String fechaDesde, 
                                 String fechaHasta, String cliente);

    public int existeClienteCuenta(String banco, String clienteBanco, 
                                   String cuenta);

    public String getDescripcionGrupo(String cliente, String grupo);

    public List getComprobantesActas(String numeroCargo);

    public List getPuntos(String sucursal, String cliente);

    public List getServicioCompensacion(String fechai, String fechah, 
                                        String sucursal, String cliente, 
                                        String punto);

    public List getServicioCompensacionTotal( final String fechai, final String fechah, 
                                        final String sucursal, final String cliente, 
                                        final String punto);

    public List getTipoMoneda();

    public List getServiciosAgencia(String servicio, String fechaDesde, 
                                    String fechaHasta, String cliente, 
                                    String sucursal);

    public List getServiciosAgenciaMultiple(String servicio, 
                                            String listaCodPuntos, 
                                            String fechaDesde, 
                                            String fechaHasta, 
                                            String cliente, 
                                            String sucursal);

    public List getRecojo(String fechaDesde, String fechaHasta, 
                          String sucursal, String cliente);

    public List getEnvio(String fechaDesde, String fechaHasta, 
                         String sucursal, String cliente);

    public List buscarPunto(String np, String cg, String sucursal,String listMatrices,String tipPunt) throws Exception;
    public List buscarCliente(String codCliente,String desClient, String codSucu) throws Exception;
    public List buscarFavoritos(String Usuario, int razonSocial);
    
    public int eliminarFavoritos(String Usuario,int razonSocial, String codOpci);
    
    public int agregarFavoritos(String Usuario,int razonSocial, String codOpci, String CodPerf);
        

    public List getPiezasProcesadas(String fechaDesde, String fechaHasta, 
                                    String sucursal, String cliente, 
                                    String moneda);

    public List getDetalleRecojo(String fechaDesde, String fechaHasta, 
                                 String cliente, String codigo, 
                                 String sucursal);

    public List getListadoClientes(String nombre);

    public String getDescripcionSucursalH(String codSucursal);

    public void actualizaConsistencia(String usuario, String cliente);

    public List getListadoPunto(String codigoCliente, String descripcionPunto, 
                                String codigoEquivalente, 
                                String codigoSucursal, String moneda);

    public String obtieneClaveDia(String cliente);

    public String desencriptaClaveDia(String clave);

    public List getPuntosPendienteCliente(String banco, String cliente, 
                                          String cuenta);

    public void insertaPuntoReferencia(String banco, String cliente, 
                                       String cuenta, String referencia, 
                                       String punto);

    public void modificaPuntoReferencia(String banco, String cliente, 
                                        String cuenta, String referencia, 
                                        String punto);

    public List getClientesDestino(String cliente, String clie_destino);

    public List getTipoDestino();

    public boolean validaClientesDestino(String cliente);

    public List getEquiClientes(String codCliente, String codClieDestino);

    public List getEquiClientes(String codCliente, String codClieDestino, 
                                String desDestino);

    public List getEstado();

    public int actualizarEquiCliente(PuntoBean punto);

    public List getEquiClienteDestino(String codCliente, String desDestino);

    public String getSucursalPunto(String codCliente, String codPunto);
    
    public String getSucursalPunto(final String codCliente,final String codCnta, 
                                   final String tipUnidMone,final String codClieObanc, 
                                   final String codPunto);

    public List getDenominacion(String tip_unid_mone);

    public String getSucursalNumero(final String codBanco, 
                                    final String codCliente, 
                                    final String codDestino);

    public void insertarCambioSucural(CambioSucursalBean cambioSucursalBean)  throws Exception ;

    public String validaOSBool(PedidoTemporalBean pedidoTemp);

    public String getCodClieFactOS(PedidoTemporalBean pedidoTemp);

    public String validaOSMens(PedidoTemporalBean pedidoTemp);

    public String getDescPuntoXEquiCliente(String codClienteBanco, 
                                           String codEquiCliente, 
                                           String codEquiAgen);

    public String getCodClientePedi(final String codBanco, 
                                    final String codCliente);

    public PuntoBean getDatosPuntoPorCliente(String codClienteBanco, 
                                             String codEquiCliente, 
                                             String codEquiAgen);
                                             
    public ConsolidadoBean getSaldoConsolidado(String cod_sucu_htb,String fecha);                                             
    
    public List getTiposReporte(String formulario);
    public List getTiposReporteExistNum(String formulario);
    
    public List getRemesasTransaccionesSolicitadas(String codClienteBanco, String sucursal, String fechaDesde, String fechaHasta, String horaDesde, String horaHasta);            
    
    public List getListaArchivoAbono(String codBanco, String codSucursal, String fechaCreacion, String numTran, String nombreArchivo, String tipoUnidMone);
    
    public List getListaUltimoArchivoAbono(String codBanco, String codSucursal, String tipoUnidMone);        
    
    public String getNombreUltimoArchivoAbono(String codBanco, String codSucursal, String tipoUnidMone); 
    
    /** Mod. NSC 14-08-09 **/
    public List getTipoCuenta();
    
    public List getTipoUniMone();
    
    /** Nuevo NSC 23-09-09 **/
    public List getTipoUniMoneClie(String cliente);
    
    public List getCodiRefer();
    
    public List selectAllMonedas();
    
    public String descMonedaById(String cod_deno);
    
    public List getUnidMonByCnta(String cod_clie, String cod_sucu_htb, String cod_cnta);

    public List getSucursalesByBoveda(String cod_clie, String cod_cnta, String tip_unid_mone);

    public String getBovedaDePedido(String cod_clie, String cod_sucu_htb,String cod_cnta, String tip_unid_mone, String tip_mone) throws Exception ;

    public List insertarPedido(List pedidos) throws Exception ;
    
    public boolean validaPedidoRepetido(List pedidos) throws Exception;


    public String insertarLineaTexto(final String transaccion, String secuencia, String sucursal, String cliente,  String nombreArchivo, String usuario, String lineaTexto) throws Exception;

    public String insertarLineaTextoAbonos(final String transaccion, String secuencia, String sucursal, String cliente,  String nombreArchivo, String usuario, String lineaTexto, String tipoUnidMone) throws Exception;    

    public String actualizaCuentasCliente(CuentaClienteBean cuenta) throws Exception;
    
    public String actualizaCuentasClienteDeta(final CuentaDetalleBean cuentaDeta) throws Exception;
    
    public String insertaLogBtms(LogBtmsBean logBtmsBean) throws Exception;

    public List getListaUnidMonetaria(String codBanco, String codSucursal) throws Exception;    
    
    public String eliminaLineasAbonos(String codBanco, String codSucursal) throws Exception;    
    
    public String getConfigArchivo(String codBanco, String codConfig, String tipoUnidMone) throws Exception;
    
    public CuentaBean getCuentaCliente(String tipo, String serie, String numero, String codBoveda) throws Exception;
    
    public EmpleadoBean getNombreIdentificacion(String tipo, String serie, String numero) throws Exception;
    
    public FechaServidorBean getFechaServidor() throws Exception;    

    public AnomaliaBean getAnomaliaTipo(String tipo, String serie, String numero, String codBoveda) throws Exception;
        
    public boolean valiAbono(String tip_docu_cmpb,String cod_seri_cmpb, String num_cmpb,String cliente,String sucursal, String tip_query) throws Exception;

    public boolean getValPedido(final String codSucursal, final String codPunto, 
                               final String tipomoneda,  final String fechaAtenc, 
                               final String montopedi, final String tipPedi);

    public String getCuenta(String banco, String codCliente, String tipo) throws Exception;
    
    public String getCodigoReferencia(String tipo, String serie, String numero) throws Exception;

    public String insertarComprobanteAbonoLog(String transaccionLog, 
                                              String secuenciaLog,
                                              String transaccion, 
                                              String secuencia, 
                                              String sucursal, 
                                              String cliente,
                                              String fechaGenArch,                                              
                                              String montoCuenta,
                                              String montoNeto,
                                              String montoAnomalia,
                                              String indCSRecuen,
                                              String montoActa,
                                              AbonoCSBean abonoBean) throws Exception;
    
    public String getValidaDuplicidadAbonos(AbonoCSBean abonoBean) throws Exception;    

    public List getFaltantesSobrantesPorPunto(String cliente, String sucursal, String cuenta, 
                                              String boveda, String fec_desde, 
                                              String fec_hasta) throws SQLException;
    public List getFaltantesSobrantesPorAgen(String cliente, String sucursal, String cuenta, 
                                              String boveda, String fec_desde, 
                                              String fec_hasta) throws SQLException ;
    public List getBilletesRecontados(String cliente, String sucursal, String cuenta,
                                      String boveda,String punto, String tipOrig, 
                                      String tipRemi, String billetaje,
                                      String fechadesde, String fechahasta,String tipoReporte) throws SQLException;
    public ArrayList getConsolidadoBilletesRecontados(final String cliente,final String sucursal, 
                                      final String cuenta,final String boveda, 
                                      final String punto,final String tipOrig, 
                                      final String tipRemi,final String billetaje, 
                                      final String fechadesde,final String fechahasta) throws SQLException;                                      
                                      
    public List getSaldosPorDia(final String cliente,final String sucursal, 
                                      final String cuenta,final String boveda, 
                                      final String fechadesde,final String fechahasta) throws SQLException;                                      
    public List getHoraAbonosGenerados(String cliente, String sucursal, String fecha) throws Exception;    
    
    public List abonosGeneradosDetalle(String fecha, String hora, String cliente, String sucursal) throws Exception;
    
    public String actualizaCuentasClienteImpresion(CuentaClienteBean cuenta) throws Exception;
    
    public String actualizaActaImpresion(ActaBean actaBean)throws Exception;
    
    public List getAbonosManuales(String cliente, String sucursal, String serie, String numCpmb, String cargoIngreso, String codCliente) throws Exception;

    public String actualizaCuentasAbonoManual(CuentaClienteBean cuenta) throws Exception;

    public String getUltimaFechaImpresion(String cliente, String sucursal) throws Exception;    
    
    public List getDetalleAbonosManuales(String cliente, String sucursal, String cargoIngreso, String codPunto, String codBove, String fechaContable) throws Exception;
    
    public List buscarPuntoAbono(String descPunto, String cliente, String sucursal) throws Exception;
 
    public String getNumeroTransaccionLog() throws Exception;
    
    public String insertarLogAbonoManual(AbonoManualBean abonoManualBean) throws Exception;
    
    public int getTotalAbonoManualLog(String serie, String numCS, String tipoDocuCmpb, String codBoveda, String cargoIngreso) throws Exception;

    public List getAbonosManMayorCuantia(String cliente, String sucursal) throws Exception;        
        
    public List getUltimoAbonoManualImp(String cliente, String sucursal, String ultimaFecha, String tipUnidMone) throws Exception;    
        
    public List getUltimoAbonoManualReImp(String cliente, String sucursal, String ultimaFecha, String tipUnidMone) throws Exception;
    
    public int getIndMayorCuantia(String tipoUnidMone, String montoContiene) throws Exception;

    public RemitenteBean getDatosRemitente(String cliente) throws Exception;    
      
    public String getDescCuenta(final String codCliente,final String codSucuHtb,final String codCuenta);    
    
    public List getDetalleRecojoMultiple(String fechaDesde, String fechaHasta, 
                                         String cliente, String listCodMatriz,String listCodPunto, 
                                         String sucursal);
                                         
    public List getListGrupTipoGenerico(String codGrupTipo);                                         
    
    
    public List getDetalleAperturaSobre(String cliente, String sucursal, String cuenta, 
                                        String modulo,  String serie,    String numero,                                        
                                        String fechaDesde, String fechaHasta, String chkAnom,
                                        String listCodPunto);
    
    
    public List getListMatrices(String codCliente,String codSucursal,String desSucursal);
    
    public boolean getIsMatrizActive(String codCliente,String codSucursal);
    
    public String getDesMatrizFromClieAndPunt(String codCliente,String codPunt);

    public boolean getParamActive(String codCliente,String codSucursal, String codParamOpci, String codParam);
    public int inseVeCliePunt(String codCliente,String codPunto,String codMatriz);
    public int modiVeCliePunt(String codCliente,String codPunto,String codMatriz);
    public boolean existeMatrizparaPunto(String codCliente,String codPunto);
    public List getListBillRecoIngr(String codClie,String codSucuHtb,String listCnta,String listBove,String listPtos,String listMatrices,String listDenos, String tipOrig,String tipPuntOrig,String tipCS,String fecProcAperDesde,String fecProcAperHsta);
    public List getListBillRecoEnvi(String codClie,String codSucuHtb,String listCnta,String listBove,String listPtos,String listMatrices,String listDenos, String tipOrig,String tipPuntOrig,String tipCS,String fecProcAperDesde,String fecProcAperHsta);
    public List getListDenominacionesByTipUnidMone(String tipUnidMone);
    public int getTiempoTrancurrido(String date);
    public String getUrlModu(String codModu);
    public void inseAudit(AuditBean auditBean) throws SQLException;
    /*JRA*/
    public List getDetalleAperturaSobreMultiple(String cliente, String sucursal, String listCodCuenta, 
                                        String listCodModulo,  String serie,    String numero,                                        
                                        String fechaDesde, String fechaHasta, String chkAnom,
                                        String listCodPunto);
    
    public List getListDenomXBoveda(String codBoveda,String codCuenta,String codCliente,String codSucursal)throws Exception ;
    public List getListMontosAlertas(String codBoveda,String codCuenta,String codCliente,String codSucursal) throws Exception;
    public String insertaMontosAlertas(DenomBoveBean dbBean)throws Exception;
    public String actualizaMontosAlertas(DenomBoveBean dbBean)throws Exception;
    public List getListUnidXDenom(String codDeno,String tipoProd,String tipoUnidMone,String tipoMone)throws Exception;
    public List getListSucursales(String desSucu,String codClie,String tipCnta) throws Exception; 
    public String getDescSucursal(String codSucu) throws Exception;
    public List getListTipoUnidMoneMultiSucu(String cliente,String sucursal,String cuentas) throws Exception ;
    public List getListBoveMultiSucu(String sucursal,String cliente,String cuentas,String tipoUnidMone) throws Exception;
    public List getDescListBoveMultiSucu(String cliente,String sucursal,String cuentas,String tipoUnidMone,String moduDesc) throws Exception;
    public List getSaldosXSucursal(String sucursal,String cliente, String cuentas, String bovedas,String fecha) throws Exception;
    public List getExistBoveda(String sucursales,String cliente,String cuentas,String modulos,String fecha,String tipoUnidMone,String precierre) throws Exception;
    public List getListDenom(String tipoUnidMone) throws Exception;
    public List getListClienteXTipo(String tipoCliente,String descCliente) throws Exception; 
    public List getListIngSalApoyoFinanciero  (String sucursales, String cliente, 
                                               String cuentas, String tipoUnidMone, 
                                               String bovedas, String fechaDesde,
                                               String fechaHasta,String indTipo,String listaBancos,String tipClie,String tipoOper) 
                                               throws Exception;
    public double getSaldoInicialApoyoFinanciero(String sucursal, 
                                                 String cliente, String cuenta, 
                                                 String tipoUnidMone, 
                                                 String bovedas, 
                                                 String fechaDesde, 
                                                 String indTipo)throws Exception;                                           
    
    public List validarCntasApoyoFinan(String cuentas, String cliente, 
                                       String sucursal) throws Exception;
    
    public List getListConfigArchIndi(String descCliente,String estado) throws Exception;
    public List getListTipoArchXClie(String codCliente,String desTipo) throws Exception;
    public void updateTipoArchXCliente(String codRepo,String codCliente,String estado,String tipo) throws Exception;
    public List getListClieArchInd(String descCliente) throws Exception ;
    public List listTipoArchIndiXClie(String codClie) throws Exception;
    public int insActTipoArchIndi(String codClie,String cod_tipo_repo,String fec_repo,
                                  String ruta_orig, String ruta_dest_serv, String ruta_dest_oas,String estado,
                                  String nom_repo,String nom_comp_modi,String cod_usua_modi,String fec_modi) throws Exception;
    public List listIndicServicio(String codClie,String codTipo,String nombre, String fechaInic,String fechaHast) throws Exception;
    public int eliminaArchIndicador(String codCliente,String tipoReporte,String fecha,String rutaOAS,String nombre,String codUsuario)throws Exception;
    
    public List getRepoHistoCabecera(String codCliente,String codSucursal,String codCuenta,
                                     String tipoUnidMone,String fechaProc,String codBove) throws Exception;
    
    public List getRepoHistoDetalle(String id,String codRepo) throws Exception;
                                     
    public List getRepoHistoResumen(String id,String codRepo) throws Exception;
    
    public List getArchRepoHistorico(String codClie,String codSucursal,String codCuenta, String tipoUnidMone,String fechaProc,String codBove,String codRepo) throws Exception;
     
    /*FIN JRA*/
     public List getActaAnomalia(String serie, String tipo, String cmpb);
     
     public String getDesNotaActa(String tipoActa, String nseSecu, String codSecc, String nsePosi); 

     public String getDesTipoActa(String codGrupTipo, String codClasActa);
     
     public String getFechaProcesoActa(String serieActa, String tipoDocuActa, String numActa, String fechaProc);

     public String getRemitenteActa(String serieActa, String tipoDocuActa, String numActa, String puntoOrigen, String nomClie);  
     
     public String getNumUnicActaImp(String serieActa, String tipoDocuActa, String numActa, String codEmplImp, String codClasActa);
  
     public List  getActaImpr(String serieActa, String tipoDocuActa, String numActa, String numUnicActa);      
     
     public String getObsvActa(String codAnom, String tipoAnom, String txtObsv, String numBill);
     
     public String getDiferenciaActa(String serieActa, String tipoDocuActa, String numActa, String codBove, String difeActa);
     
     public String eliminaActaTemp(String numUnicActa);
     
     public String getDescClase(String codClasActa);
     
     public String getSeriales(String serieActa, String tipoDocuActa, String numActa);
     
     public String getNombreFirma(String codEmplImp);
     
     public List validarCntaSaldosSucu(String codCuentas,String codCliente,String codSucursal);
     public List validarBoveSaldosSucu(String codBove,String codSucursal);
     public List getListMainCntas(String codSucursal,String codCliente);
     
     public List getListMovDiarioAgen(String codSucu,String codClie,String codCnta,String codBove,
                                      String fechaDesde,String fechaHasta);
     public List getListMovDiarioClie(String codSucu,String codClie,String codCnta,String codBove,
                                      String fechaDesde,String fechaHasta);
     
     public List getResuMovDiario(String codSucu,String codClie,String codCnta,String codBove,String fechaDesde,String fechaHasta);
     public String getSaldoTotalMultiSucuMap(String codClie,String codSucu,String codCnta,String codBove,String fecProcAper,int pInfo);   
     public ReporteMovDiarioBean getCalcContemRepoDiar(String codSucu,String codClie,String codCnta,String codBove,String fechaDesde,String fechaHasta) ;
     public List<RepoMontosCustodiaBean> getSaldosMontoCustodia(String codSucuHtb,String codClie,String codCnta,String codBove,String tipOper,String fecDesd,String fecHast);                                                                  
     public List<RepoMontosCustodiaBean> getSalidasMontoCustodia(String codSucuHtb,String codClie,String codCnta,String codBove,String tipOper,String fecDesd,String fecHast);
     public List<RepoMontosCustodiaBean> getTotalesMontoCustodia(String codSucuHtb,String codClie,String codCnta,String codBove,String tipOper,String fecDesd,String fecHast);
     public List<RepoMontosCustodiaBean> getListaSalidasCustodia(String codSucuHtb,String codClie,String codCnta,String fecDesd);
     public List<RepoMontosCustodiaBean> getListaSalidasCustodiaCons(String codSucuHtb,String codClie, String codCnta,String fecDesd);
     public Double getTipoCambioSolDol(String fechaDesde,String tipoCambio);                                                                  
     //****SEGURIDAD 
      public List getModulos(String modulo,String user, String perfil,String codRazoSoci,String indOpciMenu);
      
     //****
     public String getCodSucuHtbFromEquiAgen(String codCliente,String codEquiAgen);
      
      public boolean getIsValidCntaClieSucu(String codClie,String codSucuHtb,String codCnta);
    //****YNFR 14/10/2011 10:13 AM INICIO***
     public List getListProcesos();
    //****YNFR 14/10/2011 10:13 AM FIN******
     
    public List getListEstados() throws SQLException;
    
    public List<PedidoAbstract> getPedidosAtm (int cliente, String sucursales, int tipFecha ,String fechaDesde,
                               String fechaHasta, String puntos, String tipRegiPedidos, int nroPedido, String estados,int nivelAuto, int tipPedi, int indRecp) throws SQLException;
    public List<PedidoAbstract> getPedidosAtmTemp (int cliente, String sucursales, int tipFecha ,String fechaDesde,
                             String fechaHasta, String puntos, String tipRegiPedidos, int nroPedido, String estados,int nivelAuto, int tipPedi) throws SQLException;
    public List getDetalleVisuPedido(String numpedi,int codclie,String codsucu, String fecpedi, String codseri,int estdocu, String tipdocupedi) throws SQLException;
    public List<TiposBean> buscarTipoIngresoPedido(String desTipo) throws Exception;
    public List<PedidoAbstract> getPedidosAtmToPred(int cliente, String tipPedidos, String tipFecha, String fechaDesde, 
                                                 String fechaHasta, String sucursales) throws Exception;
    public List<ClienteEntity> getListClieArchPedi();
    public List<PedidoDetaEntity> getListAtencionRemesas(String  sucursales, int cliente,String fechaDesde, String fechaHasta) throws Exception;
    public List<OperRealBean> getListOperRealizadas(String  sucursales, int cliente,String fechaDesde, String fechaHasta) throws Exception;
    public List<CompServAtmEntity> getListDetaRema(String  sucursales, int cliente,String fechaDesde, String fechaHasta) throws Exception;
    public List<CompServAtmEntity> getListDetaMante(String  sucursales, int cliente,String fechaDesde, String fechaHasta) throws Exception;
    public List<OperRealResuBean> getListOperacRealizResumen(String  sucursales, String cliente,String fechaDesde, String fechaHasta, int cantFalsPrda, int cantRetrRema) throws Exception;
    public List<OperRealResuBean> getListAtenRemeResu(String  sucursales, String cliente,String fechaDesde, String fechaHasta) throws Exception;
    public List getListAbastecimientoAtm(String codClie, String codSucu,String fechaDesde,String fechaHasta);
    public List<OperacionesAtmBean> getListOperacAtm(int cliente,int  sucursal,String fechaDesde, String fechaHasta) throws Exception;
    public List<PedidoAbstract> getPedidosAtmByNumero(int tipPedi, int nroPedi, String codEstado);
    public List<PuntoBean> getPuntosPorCliente(String listCodCliente, String desPunto,String listCodSucursal);
    public List getListDetalleIngresos(String tipoFecha, String fechaDesde, String fechaHasta, String codCliente, String listCodPunto,String listCodBanco, String uniMond,String estado);
    public List<ComprobanteServicioBean> getListIngresosSalidas(String codCliente,String uniMond,String listCodPunto,String listCodBanco,String movimiento,String fechaDesde,String fechaHasta);
    public Boolean isDispActi(int codCajero, int numDispensador);
    public List getListSucursalesCC(String desSucu,String codClie);

    public List getMantenimPuntosEqui(int sucursal,
                                      String clienteSelectedoClienteSession,
                                      String desAgencia, int codCorp,
                                      int flagAgenciasSinAsignar);

    public List getListOrgDest(String codGrup, String listCodTip);

    public List getListGrupTipoOperacion();

    public List getListClieByCta(String listClie, String listSucu,
                                 String desCta);

    public List getIngresosSalidasGralList(String tipClie, String listCodClies,
                                           String listCodSucurs,
                                           String listPuntosCadena, String vOrigen,
                                           String listCodBancCadena,
                                           String listCodCtaCadena,
                                           String tipoOperacion, String tipoUm,
                                           String listcodBove, String tipoCliente,
                                           String listClieBanc, String tipFecha,
                                           String origen, String fecDesde,
                                           String fecHasta);


 

    public List getListDetalleIngresos(
                                       String listCodCliente,
                                       String listCodSucusal,
                                       String listCodPunto,
                                       String codDestino,
                                       String listCodBanco, 
                                       String listCodCuenta, 
                                       String codOpe,
                                       String uniMond,
                                       String estado,
                                       String tipoFecha,
                                       String fechaInicio,
                                       String fechaFin 
                                       );
  public List<TiposBean> getListTiposReportes(String codClie);
  public List<TiposBean> getListUnidMone();    
  public List getListAbonosRealizados(String listCodClie, String listCodSucu,
                                        String listCodPunt, String listCodBand,
                                        String uniMond, String fechaIncio,
                                        String fechaHasta);

    public String validarCompSalida(String codCliente, String tipoReporte);

    public Boolean getPendXProcesar(String codCliente, String sucursal,
                                    String tipoReporte, String fechadesde,
                                    String fechahasta,String tipClie,String tipoFecha);

  
    public List genRepCompServPendProc(String tipoReporte, String listCodSucurs,
                                       String fechaDesde, String fechaHasta,
                                       String listCodClie, String listPuntosCadena,
                                       String listBancosCadena,
                                       String listCodCtaCadena, String tipClie,String tipoFecha,String uniMone);
    
  public List genRepSobrDetPendProc(String listCodSucurs,
                                     String fechaDesde, String fechaHasta,
                                     String listCodClie, String listPuntosCadena,
                                     String listBancosCadena,
                                     String listCodCtaCadena,String tipoFecha,String uniMone);
  
  public List genRepSobrDetPendProcTxt(String listCodSucurs,
                                     String fechaDesde, String fechaHasta,
                                     String listCodClie, String listPuntosCadena,
                                     String listBancosCadena,
                                     String listCodCtaCadena,String tipoFecha,String uniMone);
  
    public List<ComprobanteServicioBean> getListCompServNorm(String codClientes,String codSucursales,
                                                             String codBancos,String codCuentas,String codPuntos, 
                                                             int tipClie, String fecDesde, String fecHasta,String tipoFecha,String uniMone);
    
  public List<FaltSobrFechaBean> getListSobrFecha(String codClientes,String codSucursales,
                                                           String codBancos,String codCuentas,String codPuntos, 
                                                           String fecDesde, String fecHasta,String tipoFecha,String uniMone);

    
  public List<TiposBean> getListaCntaByClient(List<ComprobanteServicioBean> listCompServ);


  public List<FaltSobrTCCBean> getListTCC(String listCodClie,
                                                 String listCodSucurs,
                                                 String listBancosCadena,
                                                 String listCodCtaCadena,
                                                 String listPuntosCadena,
                                                 String fecDesde, String fecHasta,
                                                 String tipoFecha,String uniMone);



  public List getListPedidos(String listCodCliente, String listCodSucusal,
                               String listCodPunto, String listCodBanco,
                               String codOrigen,
                               String tipPed, String tipoRegPedi,
                               String estado, String tipoFecha,
                               String fechaInicio, String fechaFin,
                               String numPedi);

}
